Insertion of supplementary information in digital data

ABSTRACT

The invention concerns a method of inserting a suppementary information item in a set of data reprenting physical quantities, the data having been processed by the steps of, a) partitioning (E 2 ) the set into subsets, b) entropic coding (E 4 ) of each of the subsets, c) selecting (E 8 ), for each of the subsets, a compression rate and distortion pair according to a global compression rate or a global distortion, d) writing, for each of the subsets, an index (T ij ) representing the selected compression rate and distortion pair, in a file containing the coded subsets, characterised in that it also includes a step (E 11 ) of modifying the selected compression rate and distortion pairs, according to the supplementary information (w m ).

[0001] The present invention concerns a method of inserting supplementary information such as a secret watermark in a digital signal.

[0002] It also concerns a method of extracting a secret watermark inserted in a digital signal.

[0003] Correlatively, the present invention concerns a device for inserting supplementary information and a device for extracting the supplementary information, adapted respectively to implement the insertion and extraction methods according to the invention.

[0004] The digital signal considered hereinafter will more particularly be a digital image signal.

[0005] The insertion and extraction methods according to the invention lie within the technical field of watermarking of digital data, which can be interpreted as the insertion of a seal in the digital data, making it possible for example to authenticate the content of a digital data file. This watermarking is also referred to as digital tattooing.

[0006] Watermarking entails in general terms the modification of coefficients representing the digital image. This modification is imperceptible to the eye, but can be decoded by an appropriate decoder.

[0007] We are concerned here with so-called fragile watermarking, that is to say one which does not resist modifications which the image may undergo after its watermarking, such as supercompression, filtering or change in representation format, for example. This type of watermarking is notably used for authenticating an image, or for inserting therein annotations relating to this image.

[0008] In addition, the watermarking of an image can be effected either in the spatial domain, or in a transformed domain, or in a compressed representation. The concern is here more particularly with the compressed domain.

[0009] The article entitled “High performance scalable image compression with EBCOT” by D. Taubman, which appeared in “IEEE Transactions on image processing” , Vol. 9, N^(o) 7, July 2000, pages 1158 to 1170, describes a compression method which supplies a compressed representation which is scalable in terms of compression rate and distortion. The concept of scalability means that the compressed data contain several layers which each represent an effective compression of the image for a fixed compression rate or a fixed distortion.

[0010] The present invention aims to provide a method and a device for inserting supplementary information in coded data and more particularly compressed data.

[0011] To this end, the invention proposes a method of inserting supplementary information in a set of data representing physical quantities, the data having been processed by the steps of:

[0012] partitioning the set into subsets,

[0013] entropic coding of each of the subsets,

[0014] selecting, for each of the subsets, a compression rate and distortion pair according to a global compression rate or a global distortion,

[0015] writing, for each of the subsets, an index representing the selected compression rate and distortion pair, in a file containing the coded subsets,

[0016] characterised in that it also includes a step of modifying the selected compression rate and distortion pairs, according to the supplementary information.

[0017] Correlatively, the invention concerns a device for inserting supplementary information in a set of data representing physical quantities, the data having been processed by:

[0018] means of partitioning the set into subsets,

[0019] means of entropic coding of each of the subsets,

[0020] means of selecting, for each of the subsets, a compression rate and distortion pair according to a global compression rate or a global distortion,

[0021] means of writing, for each of the subsets, an index representing the selected compression rate and distortion pair, in a file containing the coded subsets,

[0022] characterised in that it also has means of modifying the selected compression rate and distortion pairs, according to the supplementary information.

[0023] By virtue of the invention, it is possible to effect an insertion of supplementary information, of the fragile type, in compressed data.

[0024] The data are not directly modified by this insertion, since only the compression rate and distortion pairs of the subsets are modified according to the invention.

[0025] According to a preferred characteristic, the insertion method includes, prior to the modification step, a test step for verifying whether the selected compression rate and distortion pairs are modifiable according to a modification criterion.

[0026] This ensures that the visibility of the supplementary information inserted in the data and the global compression rate after watermarking and compression are checked. In addition, this ensures compatibility of the insertion method with the compression and decompression method.

[0027] According to a preferred characteristic, the entropic coding is performed by bit plane.

[0028] According to a preferred characteristic, the modification criterion is not verified for a selected compression rate and distortion pair if this pair belongs to the first non-null bit plane.

[0029] Thus the insertion of the supplementary information does not introduce an excessive distortion in the data.

[0030] According to a preferred characteristic, the modification criterion is not verified for a selected compression rate and distortion pair if this pair belongs to the last bit plane.

[0031] In fact, this makes it possible not to create a situation in which the decoding of the data would be impossible due to incompatibility with the acceptable values.

[0032] According to a preferred characteristic, the modification includes the replacement of the least significant bit of the index with an information bit whose value is a function of the supplementary information. This type of modification is simple to implement.

[0033] According to preferred characteristics, which may be combined, the value of the information bit is also a function of at least one characteristic of the subset, or of at least one characteristic of the subsets previously processed or of a secret key.

[0034] These characteristics make the supplementary information more difficult to pirate.

[0035] According to a preferred characteristic, since the file containing the coded subsets has several layers, only the compression rate and distortion pairs corresponding to the first layer are modified according to the supplementary information.

[0036] The first layer is always the first to be processed, for example in the case of a transmission of the data. Thus the supplementary information will also be rapidly processed.

[0037] According to another preferred characteristic, since the file containing the coded subsets has several layers, the compression rate and distortion pairs corresponding to the different layers are modified according to the supplementary information.

[0038] This makes it possible for example to order the importance of the supplementary information hierarchically, the first layer receiving the information judged to be the most important.

[0039] According to another preferred characteristic, for each of the layers, the compression rate and distortion pairs are modified according to the same item of supplementary information.

[0040] The supplementary information is thus repeated on each layer, which increases the robustness of the insertion.

[0041] According to another preferred characteristic, the supplementary information is authentication information.

[0042] The invention also concerns a method of extracting supplementary information inserted in a set of data representing physical quantities by means of the insertion method previously presented, characterised in that it includes the steps of:

[0043] reading, for each of the subsets, the index representing the compression rate and distortion pair,

[0044] extracting the supplementary information.

[0045] The invention concerns an extraction device having means of implementing the above characteristics.

[0046] The extraction method and device have advantages similar to those previously described.

[0047] The invention also concerns a digital apparatus including the insertion or extraction device, or means of implementing the insertion or extraction method. This digital apparatus is for example a digital photographic apparatus, a digital camcorder or a scanner. The advantages of the device of the digital apparatus are identical to those previously disclosed.

[0048] The invention also concerns an information storage means, which can be read by a computer or by a microprocessor, integrated or not into the device, possibly removable, storing a program implementing the insertion or extraction method.

[0049] The invention also concerns a computer program on a storage medium and comprising computer executable instructions for causing a computer to insert or extract supplementary information according to the previously disclosed method.

[0050] The characteristics and advantages of the present invention will emerge more clearly from a reading of a preferred embodiment illustrated by the accompanying drawings, in which:

[0051]FIG. 1 depicts an embodiment of a device for inserting a message in data according to the invention,

[0052]FIG. 2 depicts an embodiment of a device for extracting a message from data according to the invention,

[0053]FIG. 3 depicts an embodiment of a device according to the invention,

[0054]FIG. 4 depicts an embodiment of a method of inserting a message in data according to the invention,

[0055]FIG. 5 depicts a transformed image,

[0056]FIG. 6 illustrates an entropic coding used in the invention,

[0057]FIG. 7 depicts an embodiment of a method of extracting a message from data according to the invention.

[0058] With reference to FIG. 1, a device for inserting a message in digital data includes a data transformation circuit 1. The digital data are more particularly an image and the transformation is for example a discrete wavelet transformation of the image, which transforms the spatial coefficient thereof into spatio-frequency coefficients.

[0059] It should be noted that the transformation is essential only if it is wished to obtain a representation of the image which is both compressed and watermarked. If the compression of the image is not a sought-for aim, the transformation can be omitted or, equivalently, be identity.

[0060] The transformation circuit 1 is connected to a quantization circuit 2 which quantizes the coefficients which it receives and supplies the quantized coefficients to a partitioning circuit 3. It should be noted that quantization is not essential for the invention. The partitioning circuit forms blocks in the data which it receives.

[0061] The circuit 3 is connected to a circuit 4 for the progressive entropic coding of the blocks of data. One embodiment of entropic coding will be detailed hereinafter with reference to FIG. 6.

[0062] The circuit 4 supplies the coded data to a circuit 5 for optimising the compression rate and distortion of these data.

[0063] The circuit 5 effects the selection, for each of the blocks of data, of a compression rate and distortion pair, as a function of a global rate or a global distortion. This selection amounts to keeping only some of the coded information for each block. The quantity of coded information kept for each block is indicated by a truncation point, which is an index representing the selected compression rate and distortion pair.

[0064] The circuit 5 is connected to a circuit 6 for modifying the result of the previous optimisation, according to a message to be inserted and a secret key K. The modification relates to the truncation point of certain blocks, as will be seen hereinafter.

[0065] The circuit 6 is finally connected to a binary stream formation circuit 7, which forms a binary stream containing the inserted message. The indices of the truncation points are inserted in the header of the file containing the binary stream, referred to as the compressed file.

[0066] The binary stream contains layers, each of which is a representation, progressive in terms of quality, of the image containing coding data for each block. These coding data are entropically coded items of binary information which depend on the result of the optimisation between compression rate and distortion.

[0067] The first layer contains some of the coding data for each block, and each following layer contains additional details with respect to the first. It is said then that there is incrementation of the coded information.

[0068] Naturally it is possible to have only one layer.

[0069] The functioning of the insertion device according to the invention will be detailed hereinafter.

[0070]FIG. 2 depicts an embodiment of a device for extracting a message inserted in data by the previously disclosed device.

[0071] This device has a compressed file header reading circuit 8. This is because the inserted message is in the header of the compressed file.

[0072] The circuit 8 is connected to an extraction circuit 9, which extracts the inserted message.

[0073] The functioning of the extraction device will be detailed hereinafter. It should be noted that the purpose of the extraction may be to find the inserted message, or to authenticate the digital data, in order to check whether they have undergone any alteration between the insertion of the message and its extraction.

[0074] As depicted in FIG. 3, a device implementing the invention is for example a microcomputer 10 connected to different peripherals, for example a digital camera 107 (or a scanner, or any image acquisition or storage means) connected to a graphics card supplying information to be processed according to the invention.

[0075] The device 10 has a communication interface 112 connected to a network 113 able to transmit digital data to be processed or conversely to transmit data processed by the device. The device 10 also has a storage means 108 such as for example a hard disk. It also has a drive 109 for a disk 110. This disk 110 can be a diskette, a CD-ROM or a DVD-ROM, for example. The disk 110, like the disk 108, can contain data processed according to the invention as well as the program or programs implementing the invention which, once read by the device 10, will be stored in the hard disk 108. According to a variant, the program enabling the device to implement the invention can be stored in a read only memory 102 (referred to as ROM in the drawing). In a second variant, the program can be received and stored in an identical fashion to that described previously by means of the communication network 113.

[0076] The device 10 is connected to a microphone 111. The data to be processed according to the invention will in this case be audio signal data.

[0077] This same device has a screen 104 for displaying the data to be processed or serving as an interface with the user, who can thus parameterise certain processing modes, using the keyboard 114 or any other means (a mouse for example).

[0078] The central processing unit 100 (referred to as CPU in the drawing) executes the instructions relating to the implementation of the invention, instructions which are stored in the read only memory 102 or in the other storage elements. On powering up, the processing programs stored in a non-volatile memory, for example the ROM 102, are transferred into the random access memory RAM 103, which will then contain the executable code of the invention as well as registers for storing the variables necessary for implementing the invention.

[0079] In more general terms, an information storage means, which can be read by a computer or by a microprocessor, integrated or not into the device, and possibly removable, stores a program implementing the method according to the invention.

[0080] The communication bus 101 enables communication to be made between the different elements included in the microcomputer 10 or connected to it. The representation of the bus 101 is not limiting and notably the central unit 100 is able to communicate instructions to any element of the microcomputer 10 directly or by means of another element of the microcomputer 10.

[0081] The functioning of the watermarking insertion and watermarking detection devices according to the invention will now be described by means of algorithms.

[0082] The algorithm of FIG. 4 depicts the general functioning of the insertion device according to the invention and includes steps E1 to E19.

[0083] This algorithm can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means can be read by a computer or by a microprocessor. This storage means is integrated or not into the device, and may be removable. For example, it may include a magnetic tape, a diskette or a CD-ROM (fixed-memory compact disc).

[0084] Step E1 is a reversible transformation of the data, for example a discrete wavelet transformation of the image, referred to as, in order to transform the spatial coefficients into spatio-frequency coefficients. These spatio-frequency coefficients form part of the frequency sub-bands, distributed according to several resolution levels. Step E1 also includes a scalar quantization of the coefficients. For example a specific quantization step is used for each sub-band. This quantization is known per se and will not be detailed here.

[0085] For example, the transformation of the image results in a transformed image as depicted in FIG. 5, and which includes ten frequency sub-bands distributed according to three resolution levels.

[0086] The transformed image is the result of a filtering of the original image in the horizontal direction and in the vertical direction.

[0087] The level of lowest resolution RES₃ includes the sub-bands LL₃, HL₃, LH₃ and HH₃. The sub-band LL₃ with the lowest frequency, also referred to as the low sub-band, is a reduction of the original image. The other sub-bands are detail sub-bands.

[0088] The sub-band LL₃ includes the components, or coefficients, of low frequency, in both directions, of the image signal. The sub-band LH₃ includes the components of low frequency in a first direction and of high frequency in a second direction, of the image signal. The sub-band HL₃ includes the components of high frequency in the first direction and the components of low frequency in the second direction. Finally, the sub-band HH₃ includes the components of high frequency in both directions.

[0089] The second resolution level RES₂ includes the sub-bands HL₂, LH₂ and HH₂ and the highest resolution level RES₁ includes the sub-bands HL₁, LH₁ and HH₁.

[0090] Naturally, the number of resolution levels, and consequently of sub-bands, can be chosen differently, for example 13 sub-bands and four resolution levels, for a bi-dimensional signal such as an image. The number of sub-bands per resolution level can also be different.

[0091] The following step E2 is the partitioning of each sub-band into blocks of coefficients. In general terms, a block of coefficients is a group of coefficients. For example, the blocks formed are square in shape, and have a predetermined number or a predetermined size. The blocks situated on the edges of the sub-band can be rectangular and of lesser size.

[0092] The following step E3 is an initialisation of a parameter j to the value one, to consider a first block amongst the NB blocks B_(j) formed at the previous step. The blocks are considered in any predetermined order, for example according to the video scanning direction.

[0093] The following step E4 is an entropic coding by bit plane of the current block B_(j).

[0094] The following step E5 is a test for checking whether all the blocks have been coded. If there remains at least one block to be coded, step E5 is followed by step E6 in order to consider a following block. Step E6 is followed by the previously described step E4.

[0095]FIG. 6 illustrates the entropic coding by bit planes of a block B_(j). Such a coding is described in the article entitled “High performance scalable image compression with EBCOT” by D. Taubman, which appeared in “IEEE Transactions on image processing”, Vol. 9, N^(o) 7, July 2000, pages 1158 to 1170. This coding is progressive, and also is of the scalable type.

[0096] Each coefficient of a block is a real number which is quantized, for example in five bits in FIG. 6. The bit plane PB₁, contains the most significant bits, referred to as MSB's of the coefficients of the block B_(j). The bit planes PB₂ to PB₅ contain respectively the lesser and lesser significant bits of the coefficients of the block B_(j). The bit plane PB₅ thus contains the least significant bits, referred to as LSB's of the coefficients of the block B_(j).

[0097] Each bit plane is coded in several passes, here two.

[0098] The result of the first coding pass is a part of the coding data for the block in question, and the result of the second pass is another part of the coding data including supplementary details. With each pass there is associated a compression rate and distortion pair which corresponds to the supplementary compression rate and to the decrease in overall distortion for the reconstructed image when the corresponding data are retained.

[0099] In the example depicted, the bit plane PB₁ contains only zeros, and therefore it is not necessary to effect the two coding passes on this bit plane. To take account of this information, the number M_(j) of non-significant passes is two.

[0100] The first significant pass is the first pass for the bit plane PB₂, that is to say the third pass.

[0101] With reference once again to FIG. 4, when all the blocks have been coded, then step E5 is followed by step E7, at which a parameter i is initialised to one and a parameter m is initialised to one.

[0102] The parameter i is an integer which is the index of the current layer amongst the previously formed layers. The parameter i varies between 1 and NC, where NC is an integer equal to the number of layers in the binary stream.

[0103] The parameter m is an integer which is the index of the inserted bit. It should be noted that the number of bits which it is possible to insert in each layer is variable, and therefore the total number, or capacity, is also variable.

[0104] Step E7 is followed by step E8 at which a compression rate and distortion optimisation algorithm determines the quantity of data to be kept in the relevant layer C_(i), for each coded block B_(j). This quantity of data is associated with a compression rate and distortion pair.

[0105] This algorithm is known per se, and results in a truncation point T_(ij) in the relevant layer C_(i) and for the current block B_(j). Thus the layer C_(i) contains the result of a certain number of coding passes for each block.

[0106] The purpose of the remainder of the algorithm is to modify the truncation points according to the supplementary information to be inserted.

[0107] The following step E9 is an initialisation of the parameter j to one in order to consider the first truncation point T_(ij) in the current layer C_(i).

[0108] The following step E10 is a test for determining whether the truncation point T_(ij) is modifiable.

[0109] For this purpose, a predetermined criterion is applied. For example, the truncation point of the first coded non-null bit plane is not modifiable. This is because modifying this bit plane could make changes in the image which are too great. Likewise, the truncation point of the last bit plane is not modifiable. It is a case here of a physical limit, which, if it is not respected, could make it impossible to decode the image subsequently. The other truncation points are modifiable.

[0110] If the response is positive at step E10, then this step is followed by step E11, which is the modification of the current truncation point. The latter is modified by a deterministic function. For this purpose, a key K is used at step E12 in order to generate a pseudo-random binary number k_(j) using a binary law picking.

[0111] If the bit of the message to be inserted is denoted w_(m), the least significant bit of the truncation point T_(ij) is replaced by the bit k_(j) ⊕ w_(m), where ⊕ represents the exclusive OR symbol. In this case, the modified index T′_(ij) is equal to T_(ij)±1.

[0112] In the previous example, the modification depends on the block B_(j) and on the key K. In a variant, it can also depend on the previously processed blocks, in the same layer or in the previous layers.

[0113] Step E11 is followed by step E13, which is the updating of the list of truncation points. This list is situated in the header of the current layer C_(i).

[0114] At the following step E14, the parameter m is incremented by one unit in order to consider a following bit to be inserted.

[0115] The following step E15 is a test for determining whether there remain truncation points in the current layer to be considered. If the response is positive, then this step is followed by step E16 in order to consider a following truncation point. Step E16 is followed by the previously described step E10.

[0116] When the response at step E15 is negative, this means that all the truncation points of the current layer have been processed. Step E15 is then followed by step E17, which is the formation of the layer C_(i) with the modified truncation points.

[0117] Step E17 is followed by step E18, which is a test for determining if there remains at least one layer to be processed. If the response is positive, then this step is followed by step E19 in order to consider the following layer. Step E19 is followed by the previously described step E8.

[0118] When all the layers have been processed, then the binary stream containing the inserted message is formed.

[0119] A message insertion which is incremental in the different layers is described. This may correspond to a message, part of which is judged to be important and which is consequently inserted in the first layer. The other parts of the message, judged to be less important, are inserted in the following layers.

[0120] As a variant, it is possible to insert a message solely in a single layer, notably the first layer of the binary stream, which will in general be the first processed when the message is extracted. The message will then be extracted very rapidly. In addition, during a transmission, not all the layers are necessarily transmitted. In such a case, having inserted the message in the first layer only makes it possible to find it after transmission.

[0121] This variant can notably be used when the purpose of inserting the message is to authenticate the image.

[0122] According to another variant, it is possible to insert the same message in each of the layers of the binary stream, so as to obtain redundant information and consequently to increase the robustness of the message inserted.

[0123] According to another variant, the modification of the truncation point depends on at least one characteristic of the data block associated with this truncation point. This characteristic must be able to be found again exactly at the time of extraction.

[0124] For example, for each block B_(j), there are considered an initial secret key K₀, the number M_(j) of truncation points for which there is no information, and the sum P_(j) of the coefficients of the first non-zero bit plane of this block.

[0125] Then the key K=K₀+M_(j)+P_(j) is used to make a pseudo-random binary picking. The insertion is then identical to that described previously.

[0126] In place of the sum of the coefficients of the first non-zero bit plane of the block, any deterministic function calculated from these coefficients can be used, such as the variance of these coefficients.

[0127] Pirating the inserted message is thus more difficult, since the insertion of the message also depends on the coded data.

[0128] This variant can notably be used when the purpose of the insertion of the message is to authenticate the image.

[0129] Another advantage of this variant is to make it possible to locate spatially in the image any undesired modifications made subsequently to the image. There too, this can be useful for authenticating the image.

[0130] According to another variant, the two least significant bits of the truncation points are modified.

[0131] According to yet another variant, the deterministic modification function can also take account of at least one characteristic of the previously processed blocks. This characteristic can be the truncation point, the number of non-significant bit planes or the variance of the previously processed blocks. Thus the blocks are “linked” together and the inserted message is more difficult to pirate.

[0132] The algorithm of FIG. 7 depicts the general functioning of the message extraction device according to the invention and includes steps E20 to E31.

[0133] This algorithm can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means can be read by a computer or by a microprocessor. This storage means is integrated or not into the device, and may be removable. For example, it may include a magnetic tape, a diskette or a CD-ROM (fixed-memory compact disc).

[0134] Step E20 is an initialisation at which the parameter i is initialised to one and the parameter m is initialised to one.

[0135] The parameters i and m have the same meaning as in FIG. 4. Thus the parameter i is an integer which is the index of a current layer amongst the previously formed layers. The parameter i varies between 1 and NC, where NC is an integer equal to the number of layers in the binary stream.

[0136] The parameter m is an integer which is the index of the inserted bit. It should be noted that the number of bits which it is possible to insert in each layer is variable, and therefore to the total number, or capacity, is also variable.

[0137] The following step E21 is the reading of the list of truncation points T*_(ij) situated in the header of the current layer C_(i).

[0138] The following step E22 is an initialisation at which the parameter j is set to one. The parameter j has the same meaning as in FIG. 4 and represents the current index of the truncation point.

[0139] The following step E23 is a test for determining whether the current truncation point T*_(ij) is modifiable. The criterion applied is the same as at insertion.

[0140] If the response is negative, then step E23 is followed by step E24, which is a test for checking whether there remain truncation points to be processed. If the response is positive, then this step is followed by step E25, in order to consider a following truncation point. Step E25 is followed by the previously described step E23.

[0141] If the response is negative at step E24, then this step is followed by step E26 which is a test for determining whether all the layers have been processed. As long as there remains at least one layer to be processed, step E26 is followed by step E27 in order to consider a following layer. Step E27 is followed by the previously described step E21.

[0142] When the response is positive at step E23, then this step is followed by step E28, which is the reading of the bit which was inserted in the current truncation point.

[0143] For this purpose, as at insertion, a key K is used at step E29 in order to generate a pseudo-random binary number k_(j). The binary number is used at step E28 in order to extract an inserted bit w*_(m). The extraction depends on the deterministic function which was used during the prior insertion. With the example which was disclosed with reference to FIG. 4, the extraction consists of reading the least significant bit of the current truncation point T*_(ij). If the least significant bit is equal to one, then the extracted bit w_(m) is equal to k_(j), otherwise the extracted bit w_(m) is equal to 1−k_(j).

[0144] The extracted bit is stored in memory.

[0145] The following step E30 is an incrementation of the parameter m in order to consider a following extracted bit.

[0146] Step E30 is followed by the previously described step E24.

[0147] When at step E26 all the layers have been processed, it is then possible to deduce the capacity and step E26 is followed by step E31, which is the decoding of the message. For example, if it is known that it is composed of ASCII characters, the extracted bits are grouped together in groups of eight bits, and one ASCII character is associated with each group.

[0148] It should be noted that, with this method, it is always possible to extract bits from a coded file and more particularly a compressed one. The coherence and veracity of the message extracted depend on the authenticity of the file processed.

[0149] The different variants disclosed for the message insertion are transposed for extraction.

[0150] It should be noted that the purpose of extraction may be simply to extract the message or to authenticate the image which contained it.

[0151] Naturally, the present invention is in no way limited to the embodiments described and depicted, but quite the contrary encompasses any variant within the capability of a person skilled in the art. 

1. Method of inserting supplementary information in a set of data representing physical quantities, the data having been processed by the steps of: partitioning (E2) the set into subsets, entropic coding (E4) of each of the subsets, selecting (E8), for each of the subsets, a compression rate and distortion pair according to a global compression rate or a global distortion, writing, for each of the subsets, an index (T_(ij)) representing the selected compression rate and distortion pair, in a file containing the coded subsets, characterised in that it also includes a step (E11) of modifying the selected compression rate and distortion pairs, according to the supplementary information (w_(m)).
 2. Insertion method according to claim 1, characterised in that it includes, prior to the modification step, a test step (E10) for verifying whether the compression rate and distortion pairs selected are modifiable according to a modification criterion.
 3. Insertion method according to claim 1 or 2, characterised in that the entropic coding (E4) is performed by bit planes.
 4. Method according to claims 2 and 3, characterised in that the modification criterion (E10) is not verified for a selected compression rate and distortion pair if this pair belongs to the first non-null bit plane.
 5. Method according to claims 2 and 3, characterised in that the modification criterion (E10) is not verified for a selected compression rate and distortion pair if this pair belongs to the last bit plane.
 6. Insertion method according to any one of claims 1 to 5, characterised in that the modification (E11) includes the replacement of the least significant bit of the index by an information bit whose value is a function of the supplementary information.
 7. Insertion method according to claim 6, characterised in that the value of the information bit is also a function of at least one characteristic of the subset.
 8. Insertion method according to claim 6 or 7, characterised in that the value of the information bit is also a function of at least one characteristic of the previously processed subsets.
 9. Insertion method according to any one of claims 6 to 8, characterised in that the value of the information bit is also a function of a secret key (K).
 10. Insertion method according to any one of claims 1 to 9, the file containing the coded subsets including several layers (C_(i)), characterised in that only the compression rate and distortion pairs corresponding to the first layer are modified according to the supplementary information.
 11. Insertion method according to any one of claims 1 to 9, the file containing the coded subsets including several layers (C_(i)), characterised in that the compression rate and distortion pairs corresponding to the different layers are modified according to the supplementary information.
 12. Insertion method according to claim 11, characterised in that, for each of the layers, the compression rate and distortion pairs are modified according to the same supplementary information item.
 13. Insertion method according to any one of claims 1 to 12, characterised in that the supplementary information item is an authentication information item.
 14. Method of extracting supplementary information inserted in a set of data representing physical quantities by the method according to claim 1, characterised in that it includes the steps of: reading (E21), for each of the subsets, the index representing the compression rate and distortion pair, extracting (E28) the supplementary information.
 15. Device for inserting supplementary information in a set of data representing physical quantities, the data having been processed by: means (3) of partitioning the set into subsets, means (4) of entropic coding of each of the subsets, means (5) of selecting, for each of the subsets, a compression rate and distortion pair according to a global compression rate or a global distortion, means of writing, for each of the subsets, an index (T_(ij)) representing the selected compression rate and distortion pair, in a file containing the coded subsets, characterised in that it also has means (6) of modifying the selected compression rate and distortion pairs, according to the supplementary information (w_(m)).
 16. Insertion device according to claim 15, characterised in that the modification means (6) include test means for checking whether the selected compression rate and distortion pairs are modifiable according to a modification criterion.
 17. Insertion device according to claim 15 or 16, characterised in that the entropic coding means (4) are adapted to perform an entropic coding by bit planes.
 18. Device according to claims 16 and 17, characterised in that the test means (6) are adapted to use a modification criterion which is not verified for a selected compression rate and distortion pair if this pair belongs to the first non-null bit plane.
 19. Device according to claims 16 and 17, characterised in that the test means (6) are adapted to use a modification criterion which is not verified for a selected compression rate and distortion pair if this pair belongs to the last bit plane.
 20. Insertion device according to any one of claims 15 to 19, characterised in that the modification means (6) are adapted to implement a modification which includes the replacement of the least significant bit of the index by an information bit whose value is a function of the supplementary information.
 21. Insertion device according to claim 20, characterised in that the modification means (6) are adapted to consider an information bit whose value is also a function of at least one characteristic of the subset.
 22. Insertion device according to claim 20 or 21, characterised in that the modification means (6) are adapted to consider an information bit whose value is also a function of at least one characteristic of the previously processed subsets.
 23. Insertion device according to any one of claims 20 to 22, characterised in that the modification means (6) are adapted to consider an information bit whose value is also a function of a secret key (K).
 24. Insertion device according to any one of claims 15 to 23, the file containing the coded subsets having several layers, characterised in that the modification means (6) are adapted to modify only the compression rate and distortion pairs corresponding to the first layer.
 25. Insertion device according to any one of claims 15 to 23, the file containing the coded subsets having several layers, characterised in that the modification means (6) are adapted to modify the compression rate and distortion pairs corresponding to the different layers.
 26. Insertion device according to claim 25, characterised in that, for each of the layers, the modification means (6) are adapted to modify the compression rate and distortion pairs as a function of the same supplementary information item.
 27. Insertion device according to any one of claims 15 to 26, characterised in that it is adapted to insert a supplementary information item which is an authentication information item.
 28. Device for extracting a supplementary information item inserted in a set of data representing physical quantities by means of the method according to claim 15, characterised in that it has: means (8) of reading, for each of the subsets, the index representing the compression rate and distortion pair, means (9) of extracting the supplementary information item.
 29. Insertion device (10) according to any one of claims 15 to 27, characterised in that the means of partitioning, entropic coding, selection, writing and modification are incorporated in: a microprocessor (100), a read only memory (102) containing a program for processing the data, and a random access memory (103) containing registers adapted to record variables modified during the running of said program.
 30. Extraction device (10) according to claim 28, characterised in that the reading and extraction means are incorporated in: a microprocessor (100), a read only memory (102) containing a program for processing the data, and a random access memory (103) containing registers adapted to record variables modified during the running of said program.
 31. Digital signal processing apparatus, characterised in that it has means adapted to implement the method according to any one of claims 1 to
 14. 32. Digital signal processing apparatus, characterised in that it includes the device according to any one of claims 15 to
 30. 33. Storage medium storing a program for implementing the method according to any one of claims 1 to
 14. 34. Storage medium according to claim 33, characterised in that said storage medium is detachably mountable on a device according to any one of claims 15 to
 30. 35. Storage medium according to claim 33 or 34, characterised in that said storage medium is a floppy disk or a CD-ROM.
 36. Computer program on a storage medium and comprising computer executable instructions for causing a computer to decode a set of data according to any one of claims 1 to
 14. 